import { v4 as uuidv4 } from 'uuid';
import CryptoJS from 'crypto-js';
export function generateCodeVerifier(): string {
  return uuidv4().replace(/-/g, '');
}

export function generateCodeChallenge(codeVerifier: string) {
  const hash = CryptoJS.SHA256(codeVerifier).toString(CryptoJS.enc.Base64);
  // 使用 js-base64 进行 URL 安全的 Base64 编码
  // 转换为 URL 安全的 Base64 编码
  const codeChallenge = hash
    .replace(/\+/g, '-') // 将 '+' 替换为 '-'
    .replace(/\//g, '_') // 将 '/' 替换为 '_'
    .replace(/=+$/, ''); // 移除末尾的 '='
  return codeChallenge;
}